package com.molichuxing.services.business.service;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.services.business.dto.response.OrderDealerBizDto;
import com.molichuxing.services.business.dto.response.OrderDealerDeliveryBizDto;
import com.molichuxing.services.business.dto.response.OrderDealerPaymentBizDto;
import com.molichuxing.services.infrastructure.dto.request.modify.OrderDealerStartStatusModifyDto;
import com.molichuxing.services.infrastructure.dto.response.OrderDealerDetailBasicDto;
import com.molichuxing.services.property.OrderRequestTypeEnum;
import io.swagger.models.auth.In;

import java.util.List;
import java.util.Map;

/**
 * @Author: renzhengyu
 * @Description: 经销商订单组合服务
 * @Date: Created in 17:06 2019/8/14
 * @Modified By:
 **/
public interface OrderDealerBizService {

    /**
     * 查询采购单列表
     * @param params
     * @param pageNum
     * @param pageSize
     * @param requestType
     * @return
     */
    public Paged<OrderDealerBizDto> getOrderDealerBusList(Map<String,Object> params, Integer pageNum, Integer pageSize,OrderRequestTypeEnum requestType);

    /**
     * 获取采购单信息详情 - 采购车辆列表
     * @param orderCode
     * @return
     * @Exception
     */
    public OrderDealerDeliveryBizDto getOrderDetailCarsInfo(Long orderCode) throws Exception;


    /**
     * 根据cheliangid 查询经销商信息
     * @param carId
     * @return
     */
    public OrderDealerDetailBasicDto getDealerIdByCarId(Integer carId) throws Exception;

    /**
     * 根据经销商查询所有已收车的车辆信息
     * @param dealerId
     * @param carId
     * @return
     */
    public Map<Integer,OrderDealerPaymentBizDto> getOrderDealerPayment(Integer dealerId, Integer carId)throws Exception;


    /**
     * 库存发车-修改经销商订单车辆发车状态
     * @param orderDealerStartStatusModifyDto
     * @return
     */
    public Boolean modifyBizCarStartStatus(OrderDealerStartStatusModifyDto orderDealerStartStatusModifyDto) throws Exception;
}
